# Copyright (c) 2020 Presto Labs Pte. Ltd.
# Author: donggu

load("@nazel//:nazel_build.bzl", "nazel_cc_binary", "nazel_cc_library")

package(default_visibility = ["//visibility:public"])

# ---------------------------------- basic ---------------------------------

nazel_cc_binary(
    name = "vanilla",
    srcs = [
        "vanilla.cc",
    ],
    deps = ["//cc/coin2"],
)

nazel_cc_binary(
    name = "printer",
    srcs = [
        "printer.cc",
    ],
    deps = ["//cc/coin2"],
)

nazel_cc_binary(
    name = "counter",
    srcs = [
        "counter.cc",
    ],
    deps = ["//cc/coin2"],
)

nazel_cc_binary(
    name = "serialization_example",
    srcs = [
        "base/serialization_example.cc",
    ],
    deps = [
        "//cc/coin2/base",
    ],
)

nazel_cc_binary(
    name = "timestamp",
    srcs = [
        "base/timestamp.cc",
    ],
    deps = [
        "//cc/coin2/base",
    ],
)

nazel_cc_library(
    name = "approach_target_position_strategy",
    srcs = ["account_control/approach_target_position_strategy.cc"],
    hdrs = ["account_control/approach_target_position_strategy.h"],
    deps = [
        "//cc/coin2",
    ],
)

nazel_cc_binary(
    name = "approach_target_position",
    srcs = [
        "approach_target_position.cc",
    ],
    deps = [
        "//cc/appcoin2/support:approach_target_position_strategy",
    ],
)

nazel_cc_library(
    name = "mm_defender_strategy",
    srcs = ["mm_helper/mm_defender_strategy.cc"],
    hdrs = ["mm_helper/mm_defender_strategy.h"],
    deps = [
        "//cc/coin2",
        "//cc/coin2/strategy/vmm:vmm"
        ],
)

nazel_cc_binary(
    name = "mm_defender",
    srcs = ["mm_defender.cc"],
    deps = ["//cc/appcoin2/support:mm_defender_strategy"],
)

nazel_cc_library(
    name = "mm_educator_strategy",
    srcs = ["mm_helper/mm_educator_strategy.cc"],
    hdrs = ["mm_helper/mm_educator_strategy.h"],
    deps = ["//cc/coin2"],
)

nazel_cc_binary(
    name = "mm_educator",
    srcs = ["mm_educator.cc"],
    deps = ["//cc/appcoin2/support:mm_educator_strategy"],
)

nazel_cc_binary(
    name = "pending_order_cleaner",
    srcs = [
        "pending_order_cleaner.cc",
    ],
    deps = ["//cc/coin2"],
)

nazel_cc_library(
    name = "forwarding_strategy",
    srcs = [],
    hdrs = ["forwarding_strategy.h"],
    deps = [
        "//cc/coin2",
        "@apiset//pipeline:pipeline_cpp",
    ],
)
